package com.ktjy.mapper;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.text.Format;

public class Text2 {
    public static void main(String[] args) {
        try {
            Class<Person2> personClass = Person2.class;
            Constructor<Person2> constructor = personClass.getConstructor();
            Person2 person = constructor.newInstance();
            // 3. 使用反射进行属性赋值操作
            Field nameField = personClass.getDeclaredField("name");
            Field ageField = personClass.getDeclaredField("age");
            // 禁止 Java 语言访问检查
            nameField.setAccessible(true);
            ageField.setAccessible(true);
            // 赋值操作
            nameField.set(person, "John");
            ageField.set(person, 30);

            // 4. 使用反射进行属性取值操作
            String name = (String) nameField.get(person);
            System.out.println("Name: " + name);
            // 输出对象信息
            System.out.println(person);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

